package day15.socketdemo01;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

/**
 * @author Xiao
 * @date 2021/8/8
 */
public class ServerDemo {
    /**
     * UDP接收数据步骤：
     * 	创建接收端的DatagramSocket对象；
     * 	创建一个DatagramPacket箱子用于接收数据；
     * 	调用DatagramSocket的方法接收数据并将数据放入箱子中；
     * 	解析数据包，并把数据在控制台显示；
     * 	释放资源。
     * 相关方法：
     * 	DatagramSocket(int port)：创建套接字对象
     * 	DatagramPacket(byte[] buf,int length)：创建数据包的对象
     * 	void receive(DatagramPacket p)：接受数据的方法
     */
    public static void main(String[] args) throws IOException {
        //port：10000 表示接收端从10000端口接收数据的
        DatagramSocket ds = new DatagramSocket(10000);
        byte[] bytes = new byte[1024];
        DatagramPacket dp = new DatagramPacket(bytes,bytes.length);
        ds.receive(dp);
        //dp.getLength():接收到的字节数量
        int length = dp.getLength();
        System.out.println(new String(bytes,0,length));
        ds.close();
    }
}
